Sleep mode and other low power states are important operations for active peripherals that are used in battery-powered devices due to the strict battery-life demand. When the battery-powered peripheral device is in a sleep mode and a host device needs to communicate, the peripheral must first wake-up. Then the host must wait for an acknowledgement that it is awake before sending data to the peripheral device. Once the data has been received and the communication completed, the peripheral device can reenter a sleep mode or low-power state. For example, Serial Peripheral Interface (SPI) is a transport layer commonly used between microcontrollers and their peripherals. SPI is a de-facto standard with no payload or flow control definitions. As a result, proprietary out-of-band behavior needs to be executed between the host and peripheral device to enable power-saving handshaking, which entails additional hardware and software complexity as well as transaction overhead, which translates into excessive host load.
The host device may not know when the peripheral device is in a sleep mode. As a result, the host must send a wake-up signal and wait for an acknowledgement that indicates the peripheral is awake before sending data. This delay has an impact on system throughput.